[レポート] What’s new with Amazon S3 に参加してきました! #STG212 #AWSreInvent
こんにちは! AWS 事業本部オペレーション部の平根です。
re:Invent 2024 の Breakout session「What’s new with Amazon S3」に参加してきましたので内容をご紹介します。
セッション概要
セッションタイトル
STG212 | What’s new with Amazon S3
説明
Amazon S3 は、あらゆるユースケースに対応するために、データの保存、管理、分析、保護を支援する新しいイノベーションを継続的に提供しています。データを保護するための比類ないアクセス制御機能から、毎秒テラバイト単位の集約スループットにスケールアップできる能力まで、Amazon S3 はスケーラビリティ、耐久性と可用性、セキュリティとデータ保護、そしてコストパフォーマンスの面で限界を押し広げています。このセッションに参加して、最新の Amazon S3 機能について学び、それらの機能がどのようにデータのセキュリティ、管理、最適化に役立つのかについて実践的な洞察を得てください。
スピーカー
- Mallory Gershenfeld
- Product Manager, Amazon
- Paul Meighan
Director, Product Management, Amazon S3 & Glacier, Amazon Web Services
本セッションでは以下の4つのカテゴリに分けて、2024 年に開発された S3 新機能について解説されていました。
- Amazon S3 の構造化データ
- Amazon S3 の非構造化データ
- Amazon S3 の基本機能の向上(スケール、セキュリティ、耐久性、パフォーマンス)
- オープンソースクライアントに関する新機能
以下に各カテゴリで解説されていた新機能の概要をご紹介します。
Amazon S3 の構造化データ
Amazon S3 Tables
- Amazon S3 内で完全マネージド型の Apache Iceberg テーブルを提供
- Table Bucket と呼ばれる新しいタイプのバケット
- テーブルの作成および管理が可能
- テーブルの作成、一覧表示、更新、削除といった基本的なCRUD操作が可能
- テーブル固有の API を利用可能
- S3tables:CreateTable
- S3tables:ListTable
- S3tables:DropTable など
- テーブルは ARN とエンドポイントを持ち、ポリシーの設定が可能
- 各テーブルがリソースとして扱われるため、バケット、プレフィックス、アクセスポイントと同じようにセキュリティの制御が可能
- 従来のストレージと比較して最大 3 倍のクエリパフォーマンス・最大 10 倍の TPS(Transactions Per Second)を実現
S3 Table を実際に試してみた弊社記事がありますのでご紹介します。
Amazon S3 の非構造化データ
Amazon S3 Metadata
- シンプルな SQL クエリを使って数分でアクセス可能な自動メタデータの生成を実現
- S3 のオブジェクトが変更されるたびに、システムで管理されている Apache Iceberg テーブル(Journalテーブル)にメタデータが保存される
- Journal テーブル
- バケットに追加された各オブジェクトに対して、オブジェクトサイズ、ストレージクラス、クライアント情報、暗号化情報など、21 個のメタデータフィールドを自動で提供
- 独自のカスタムメタデータを利用するための拡張方法
- S3 のオブジェクトタグを使用してオブジェクトにカスタムフィールドでメタデータを付与する
- PUT リクエストでユーザー定義メタデータを追加する
- Table Bucket 内 に独自のカスタムテーブルを作成し、システムテーブルと結合する
Amazon S3 Metadata について紹介している弊社記事がありますのでご紹介します。
[新機能] メタデータを管理する最も簡単で最速な方法、Amazon S3 メタデータ (プレビュー) を試す! #AWSreInvent
Amazon S3 の基本機能の向上(スケール、セキュリティ、耐久性、パフォーマンス)
Higher S3 Bucket Limits
- 1つの AWS アカウントで作成可能なバケットの最大値が 100 万個に
- Service Quotas を通じてリクエスト可能
- バケット数上限のデフォルト値が 100 から 10000 へ変更
New data integrity defaults
- クライアントから S3 へのデータ転送中にデフォルトで整合性検証が可能に
- オブジェクト全体の CRC チェックサムがオブジェクトのメタデータに保存されるようになり、マルチパートアップロード時の整合性検証が可能に
- 本アップデートによりアプリケーションからストレージまで、ネットワーク経由でのエンドツーエンドのデータ整合性チェックが可能に
本アップデートについての詳細を紹介している弊社記事がありますのでご紹介します。
Conditional S3 Requests
- S3 が条件付き書き込みをサポート
- if-none-match と put-if-match の条件が使用可能に
- if-none-match
- 書き込み先の S3 バケットにキーが重複するファイルが存在しない場合のみ、書き込みが成功する
- if-match
- 更新対象のファイルの ETag が一致する場合のみ、書き込みが成功する
- if-none-match
- バケットポリシーで条件付き書き込みを強制可能に
条件付き書き込みについて紹介している弊社記事がありますのでご紹介します。
New Context in 403 Responses
- リクエスト時の 403 エラーメッセージに追加の情報が表示されるようになった
- ポリシーのタイプ、拒否の理由、403 を受け取ったプリンシパルに関する情報が含まれるようになり、トラブルシューティングが容易に
エラーメッセージの例が以下のドキュメントに紹介されています。
Amazon S3 Access Grants ListCallerAccessGrants API
- ListCallerAccessGrants API の導入
- S3 Access Grants で許可されたすべての S3 バケット、プレフィックス、およびオブジェクトを一覧表示できる API
Append data with Express One Zone
- S3 Express One Zone でオブジェクトの追記が可能に
- 以前はローカルストレージでデータを更新し、S3 ディレクトリバケットにアップロードし直す必要があったが、S3 ディレクトリバケット上のオブジェクトに対して直接データが追記できるようになった
- ユースケース:ログファイルへの新しいデータの追記など
本機能について紹介している弊社記事がありますのでご紹介します。
【アップデート】S3 Express One Zoneでオブジェクトの追記が可能になりました!
Amazon S3 storage classes for AWS Dedicated Local Zones
- 顧客指定の場所やオンプレミスのデータセンターに S3 のインフラ環境を作成可能
- 利用可能なストレージクラス
- Amazon S3 Express One Zone
- S3 One Zone-Infrequent Access storage
- データの分離要件やデータレジデンシー要件がある場合に利用できる
本機能について紹介している弊社記事がありますのでご紹介します。
オープンソースクライアントに関する新機能
MountPoint high performance shared cache
- Mountpoint for Amazon S3 で Amazon S3 Express One Zone を高パフォーマンスのリードキャッシュとして使用可能に
- S3 Standardと比較して最大 7 倍の高速化
- 複数のコンピューティングインスタンスでキャッシュを共有可能
- よりよいパフォーマンスを実現させるためには、ワークロードと同じアベイラビリティーゾーンにディレクトリバケットを作成することが推奨
Amazon S3 Connector for Pytorch Checkpoints with PyTorch Lightning
- S3 Connector for PyTorch が PyTorch Lightning をサポート
- S3 の読み取りとリストリクエストを自動的に最適化し、 ローカルストレージを経由せずに直接 S3 にデータを保存することで、チェックポイントのパフォーマンスが向上
Amazon S3 Connector for Pytorch Distributed Checkpoint
- S3 Connector for PyTorch が分散チェックポイント(Distributed Checkpoint)をサポート
- S3 にチェックポイントを書き込む時間が短縮
- ローカルストレージへの書き込みと比較して最大 40%のパフォーマンス向上が期待される
Storage Browser for Amazon S3
- アプリケーション内のエンドユーザーに、S3に保存されたデータを操作するためのシンプルなインターフェースを提供
- Web ベースの ポータルから S3 内オブジェクトの閲覧、アップロード、ダウンロードを実施可能
- エンドユーザーが権限を持つデータのみを表示し、3 つの認証モードをサポート
- S3 Access Grants
- Amazon Cognito
- AWS STS
Storage Browser を試してみた弊社記事がありますのでご紹介します。
AWS Transfer Family web apps
- セキュアな Web ベースの S3 用ポータル
- S3内のオブジェクトの閲覧、アップロード、ダウンロードが可能
- ノーコードで作成可能
- AWS Transfer Familyコンソールから数回クリックするだけで作成可能
- S3 Access Grantsを使用して権限のあるデータにアクセス可能
AWS Transfer Family web apps を作成してみた弊社記事がありますのでご紹介します。
Amazon S3 static website hosting with AWS Amplify
- S3 コンソール上から数クリックで静的ウェブサイトコンテンツを Amplify Hosting 環境にデプロイ可能
本機能を利用して実際に静的ウェブサイトをデプロイしている弊社記事がありますのでご紹介します。
CloudFront + S3 の構成と比較し、リダイレクトのルールや本番・ステージングなど複数環境の管理が直観的に可能で利用しやすそうだと感じました。
動画
セッション全体の動画が公開されているので興味のある方はご覧ください。
最後に
Amazon S3 は主要サービスということもあり、1 年を通して数多くのアップデートがされています。
2024 年は特に S3 Tables や S3 Metadata など、S3 上でのデータ管理・運用を容易にするためのアップデートが注目を集めました。
今後、ますます多くのケースで S3 の利用が検討されそうです。
この記事がどなたかのお役に立つと幸いです。
以上、ヒラネでした!